/**
 * 反派角色规格模板
 */
export const villainTemplate = (context: {
  name: string;
  type: string; // 如：前期反派、中期反派、终极反派
  conflict: string; // 与主角的冲突点
}) => `# novelspec/specs/characters/${context.name.toLowerCase().replace(/\s+/g, '-')}/spec.md

## Purpose
反派${context.name}（${context.type}）的完整规格定义。

## Requirements

### Requirement: 基础设定
反派应该（SHALL）具有明确的身份和动机。

#### Scenario: 身份信息
- **WHEN** ${context.name}登场或被提及
- **THEN** 姓名：${context.name}
- **THEN** 反派类型：${context.type}
- **THEN** 年龄：[待补充]
- **THEN** 修为等级：[待补充，应该高于主角当前等级]
- **THEN** 性格：[待补充主要性格特点]
- **THEN** 地位/势力：[待补充在世界中的地位]

### Requirement: 动机与目标
反派必须（MUST）有清晰合理的动机和目标。

#### Scenario: 核心动机
- **WHEN** 反派行动
- **THEN** 核心目标：[待补充，如：获得某宝物/复仇/统治]
- **THEN** 动机来源：[待补充动机的合理来源，如：过往经历/野心/信念]
- **THEN** 合理性：[待补充为什么这个动机合理且可信]
- **THEN** 底线：[待补充反派的行为底线，避免脸谱化]

### Requirement: 与主角冲突
反派与主角的冲突应该（SHALL）有明确的根源和发展。

#### Scenario: 冲突设定
- **WHEN** 描述与主角的对立
- **THEN** 冲突根源：${context.conflict}
- **THEN** 初次交锋：[待补充首次与主角对立的场景]
- **THEN** 冲突升级：[待补充冲突如何逐步升级]
- **THEN** 不可调和性：[待补充为什么无法和解]

#### Scenario: 冲突发展
- **WHEN** 故事推进
- **THEN** 第一阶段：[待补充初期冲突表现]
- **THEN** 第二阶段：[待补充冲突升级]
- **THEN** 第三阶段：[待补充最终对决]

### Requirement: 智慧与能力
反派应该（SHALL）展现与其地位相符的智慧和能力。

#### Scenario: 战斗能力
- **WHEN** 反派战斗
- **THEN** 战斗风格：[待补充战斗特点]
- **THEN** 招牌技能：[待补充标志性技能]
- **THEN** 战力评估：[待补充与主角的战力对比]
- **THEN** 弱点：[待补充反派的弱点，必须有]

#### Scenario: 智谋表现
- **WHEN** 反派谋划
- **THEN** 策略特点：[待补充谋略风格，如：深谋远虑/狡诈多变]
- **THEN** 布局能力：[待补充如何布局陷阱或计谋]
- **THEN** 应变能力：[待补充面对意外时的应对]
- **THEN** 智慧盲区：[待补充反派的思维盲区，不能是完人]

### Requirement: 行为模式
反派应该（SHALL）展现一致的行为逻辑。

#### Scenario: 面对威胁时
- **WHEN** 遇到威胁或挑战
- **THEN** 反应方式：[待补充，如：冷静分析/暴怒反击]
- **THEN** 决策风格：[待补充，如：谨慎/冒险]
- **THEN** 底线原则：[待补充什么时候会妥协，什么时候不会]

#### Scenario: 面对失败时
- **WHEN** 计划失败或战斗失利
- **THEN** 情绪反应：[待补充情绪变化]
- **THEN** 后续行动：[待补充如何东山再起或报复]
- **THEN** 成长：[待补充反派是否会从失败中学习]

### Requirement: 对话风格
反派的对话应该（SHALL）符合其身份和性格。

#### Scenario: 与主角对话
- **WHEN** 反派与主角交锋
- **THEN** 语气：[待补充，如：轻蔑/冷漠/玩味]
- **THEN** 用词：[待补充词汇特点]
- **THEN** 口头禅：[待补充如有特色台词]
- **THEN** 揭露程度：[待补充反派会透露多少信息]

### Requirement: 人性化特征（重要）
反派必须（MUST）有人性化的一面，避免脸谱化。

#### Scenario: 立体化塑造
- **WHEN** 展现反派非恶的一面
- **THEN** 正面特质：[待补充，如：对部下好/有原则/孝顺]
- **THEN** 矛盾之处：[待补充性格或行为的矛盾]
- **THEN** 悲剧性：[待补充反派的悲剧性，如何让读者理解但不认同]
- **THEN** 可悲之处：[待补充反派的可悲之处]

### Requirement: 结局设定
反派应该（SHALL）有明确且合理的结局设定。

#### Scenario: 最终命运
- **WHEN** 反派剧情结束
- **THEN** 结局方式：[待补充，如：被击败/死亡/改邪归正/逃脱]
- **THEN** 结局时机：[待补充在故事哪个阶段]
- **THEN** 影响：[待补充对主角和故事的影响]
- **THEN** 意义：[待补充这个结局的主题意义]

## 创作指导

### 使用本规格时
1. **避免脸谱化**：反派不是纯粹的恶，要有合理动机和人性化特征
2. **智慧匹配**：反派的智慧和能力应该与其地位相符，不能轻易被主角碾压
3. **冲突合理**：与主角的冲突要有合理的根源，不是为了对立而对立
4. **有胜有败**：反派不能总是失败，应该有胜利的时刻来展现威胁性

### 常见错误
- ❌ 反派智商下线，轻易被主角打败
- ❌ 反派脸谱化，纯粹的恶人
- ❌ 反派动机不合理或缺失
- ❌ 反派突然变弱或消失

### 反派层次设计
对于不同类型的反派：
- **前期反派**：修为略高于主角，展现压迫感，帮助主角成长
- **中期反派**：修为明显高于主角，制造危机感，推动主角突破
- **终极反派**：修为远超主角当前，但最终可被超越，代表主角要超越的目标

### 退场时机
- **前期反派**：通常在第一卷或第二卷被击败
- **中期反派**：通常在中间卷数被击败或转化
- **终极反派**：通常在最终卷被击败或达成和解
`;

export const getVillainTemplate = (name: string, type: string, conflict: string) => {
  return villainTemplate({ name, type, conflict });
};
